#!/bin/bash

# build_srtp.sh - 使用 CMake 为 Android armeabi-v7a 构建 libsrtp2.so

set -e

echo "🔧 使用 CMake 构建 libsrtp2 动态库 for Android armeabi-v7a"

# ================== 配置区 ==================
NDK_DIR="/home/vm/android-ndk-r21d"  # 修改为你的 NDK 路径
ANDROID_API=26
ABI="armeabi-v7a"

# CMake 构建目录
BUILD_DIR="build-android-$ABI"
mkdir -p "$BUILD_DIR"

# 安装前缀
PREFIX="$(pwd)/android/$ABI"
mkdir -p "$PREFIX"

# ================== CMake 交叉编译参数 ==================
cmake \
  -H. \
  -B"$BUILD_DIR" \
  -DCMAKE_TOOLCHAIN_FILE="$NDK_DIR/build/cmake/android.toolchain.cmake" \
  -DANDROID_ABI=$ABI \
  -DANDROID_PLATFORM=android-$ANDROID_API \
  -DANDROID_ARCH_ABI=$ABI \
  -DANDROID_STL=c++_shared \
  -DANDROID_TOOLCHAIN=clang \
  -DANDROID_ARM_MODE=arm \
  -DANDROID_ARM_NEON=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -DBUILD_SHARED_LIBS=ON \
  -DLIBSRTP_TEST_APPS=OFF \
  -DENABLE_OPENSSL=OFF \
  -DCMAKE_INSTALL_PREFIX="$PREFIX" \
  -DCMAKE_C_FLAGS="-fPIC -O2 -march=armv7-a -mfpu=neon -mfloat-abi=softfp" \
  -G"Unix Makefiles"

# ================== 编译 & 安装 ==================
echo "🚀 开始编译..."
make -C "$BUILD_DIR" -j$(nproc)

echo "📦 安装到 $PREFIX ..."
make -C "$BUILD_DIR" install

# 剥离符号
"$NDK_DIR/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip" "$PREFIX/lib/libsrtp2.so"

echo ""
echo "✅ 构建完成！"
echo "👉 动态库位置：$PREFIX/lib/libsrtp2.so"
ls -la "$PREFIX/lib/libsrtp2.so"
echo ""
